import axios from 'axios'

import {Message} from 'element-ui';

// 创建axios实例
const http = axios.create({
    baseURL: 'http://api.cn/root/v1', // 你的基础URL
    timeout: 10000, // 请求超时时间
    headers: {
        'X-Requested-With': 'XMLHttpRequest'
    }
});

// 请求拦截器（可选）
http.interceptors.request.use(config => {
    // 在发送请求之前做些什么，比如设置token、headers等
    const ApiKey = localStorage.getItem("api_key");
    if (ApiKey) {
        config.headers['api-key'] = ApiKey
    }
    return config;
}, error => {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 响应拦截器（可选）
http.interceptors.response.use(response => {
    // 对响应数据做点什么
    return response;
}, error => {
    // 对响应错误做点什么
    return Promise.reject(error);
});


// 封装GET请求
export const get = async (url, params = {}) => {
    const response = await http.get(url, {params});
    const rel = response.data

    if(rel.err_code !== 0)
    {
        Message.error({
            message:rel.msg,
            onClose:()=>{
                return false;
            }
        })
        return false;
    }

    return rel.data.length === 0 ? 1 : rel.data;
};

// 封装POST请求
export const post = async (url, data = {}) => {
    const response = await http.post(url, data);
    const rel = response.data;

    if(rel.err_code !== 0)
    {
        Message.error({
            message:rel.msg,
            onClose:()=>{
                return false;
            }
        })
        return false;
    }

    return rel.data.length === 0 ? 1 : rel.data;

};